#!/bin/bash
# 更新系统安装的域名。用于SSL证书配置后，有ip访问变为https域名访问

read -p "请设置您客服系统的https域名。比如您配置好https后登录客服系统是 https://kefu.xxxxx.com/login.do   那么下面这里设置的就是  kefu.xxxxx.com  严格按照这个格式来。请输入您的域名：" domain
echo $domain

read -p "请选择您当前的存储方式。如果您使用的是云存储方式，请输入1；如果您使用的是服务器本身存储方式，请输入0 （使用一键运行命令安装的都是使用服务器本身存储，是 0 ）" fileuploadType
echo $fileuploadType


cd ~
wget http://down.zvo.cn/properties/properties-1.0.1.jar -O ~/properties.jar
# 数据库IP
database_ip=`java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -get database.ip`
# 数据库名
database_name=`java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -get database.name`
# 数据库登录用户名
database_username=`java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -get spring.datasource.username`
# 数据库登录密码
database_password=`java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -get spring.datasource.password`

# 配置 kefu.properties
java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/kefu.properties -set kefu.api=https://$domain
java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/kefu.properties -set kefu.socket=wss://$domain:8082/websocket

# 配置防火墙，打开443、8082（websocket）端口
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=8082/tcp --permanent
# 然后重新加载防火墙规则
firewall-cmd --reload

if [ $fileuploadType -eq 1 ]
then
    # 云存储
    echo "当前采用云存储方式存储文件等附件，您要自行去配置 application.properties 文件中的 fileupload.domain 的值为您https的cdn域名"

    # 重启tomcat
    cd /mnt/tomcat8/bin/
    ./shutdown.sh
    ./startup.sh 
elif [ $fileuploadType -eq 0 ]
then
    # 服务器存储
    echo "当前采用服务器本身存储文件等附件"
    java -cp ~/properties.jar Properties -path=/mnt/tomcat8/webapps/ROOT/WEB-INF/classes/application.properties -set fileupload.domain=https://$domain/
    mysql -h $database_ip -u$database_username -p$database_password $database_name -e "UPDATE system SET value = 'https://$domain/' WHERE name = 'ATTACHMENT_FILE_URL'";
    # 重启tomcat
    cd /mnt/tomcat8/bin/
    ./shutdown.sh
    ./startup.sh 
else
    echo "存储方式输入错误"
fi
